const fs = require('fs')
// 注意：fs.readFile 读取文件的路径 . 是指的项目根路径，也就是在哪里执行的 node 命令

// 读取文件是异步的，如果要拿到读取后的数据做操作，解决方案一：使用回调函数
// 串行：顺序执行，第一个任务执行完，接着执行第二个 并行：多个任务同时执行
fs.readFile('./file/name.txt', 'utf8', (err, data) => {
  if (err) throw err
  out('name', data)
})
fs.readFile('./file/age.txt', 'utf8', (err, data) => {
  out('age', data)
})

let out = after(2, res => console.log(res))

// 执行方法指定次数之后才调用回调函数 cb
function after(times, cb) {
  let student = {}
  return function (key, value) {
    student[key] = value
    if (--times === 0) {
      cb(student)
    }
  }
}